function ro(e, t) {
  const n = /* @__PURE__ */ Object.create(null), o = e.split(",");
  for (let r = 0; r < o.length; r++)
    n[o[r]] = !0;
  return t ? (r) => !!n[r.toLowerCase()] : (r) => !!n[r];
}
const Y = process.env.NODE_ENV !== "production" ? Object.freeze({}) : {}, so = process.env.NODE_ENV !== "production" ? Object.freeze([]) : [], gt = () => {
}, lo = /^on[^a-z]/, ao = (e) => lo.test(e), K = Object.assign, io = (e, t) => {
  const n = e.indexOf(t);
  n > -1 && e.splice(n, 1);
}, co = Object.prototype.hasOwnProperty, V = (e, t) => co.call(e, t), m = Array.isArray, ie = (e) => Ye(e) === "[object Map]", an = (e) => Ye(e) === "[object Set]", R = (e) => typeof e == "function", j = (e) => typeof e == "string", mt = (e) => typeof e == "symbol", T = (e) => e !== null && typeof e == "object", uo = (e) => T(e) && R(e.then) && R(e.catch), cn = Object.prototype.toString, Ye = (e) => cn.call(e), un = (e) => Ye(e).slice(8, -1), fn = (e) => Ye(e) === "[object Object]", yt = (e) => j(e) && e !== "NaN" && e[0] !== "-" && "" + parseInt(e, 10) === e, vt = (e) => {
  const t = /* @__PURE__ */ Object.create(null);
  return (n) => t[n] || (t[n] = e(n));
}, fo = /-(\w)/g, Ke = vt((e) => e.replace(fo, (t, n) => n ? n.toUpperCase() : "")), Oe = vt(
  (e) => e.charAt(0).toUpperCase() + e.slice(1)
), po = vt(
  (e) => e ? `on${Oe(e)}` : ""
), xe = (e, t) => !Object.is(e, t), ho = (e, t, n) => {
  Object.defineProperty(e, t, {
    configurable: !0,
    enumerable: !1,
    value: n
  });
};
let Ut;
const lt = () => Ut || (Ut = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : {});
function Qe(e) {
  if (m(e)) {
    const t = {};
    for (let n = 0; n < e.length; n++) {
      const o = e[n], r = j(o) ? yo(o) : Qe(o);
      if (r)
        for (const s in r)
          t[s] = r[s];
    }
    return t;
  } else {
    if (j(e))
      return e;
    if (T(e))
      return e;
  }
}
const _o = /;(?![^(]*\))/g, go = /:([^]+)/, mo = /\/\*[^]*?\*\//g;
function yo(e) {
  const t = {};
  return e.replace(mo, "").split(_o).forEach((n) => {
    if (n) {
      const o = n.split(go);
      o.length > 1 && (t[o[0].trim()] = o[1].trim());
    }
  }), t;
}
function Nt(e) {
  let t = "";
  if (j(e))
    t = e;
  else if (m(e))
    for (let n = 0; n < e.length; n++) {
      const o = Nt(e[n]);
      o && (t += o + " ");
    }
  else if (T(e))
    for (const n in e)
      e[n] && (t += n + " ");
  return t.trim();
}
const ke = (e) => j(e) ? e : e == null ? "" : m(e) || T(e) && (e.toString === cn || !R(e.toString)) ? JSON.stringify(e, pn, 2) : String(e), pn = (e, t) => t && t.__v_isRef ? pn(e, t.value) : ie(t) ? {
  [`Map(${t.size})`]: [...t.entries()].reduce((n, [o, r]) => (n[`${o} =>`] = r, n), {})
} : an(t) ? {
  [`Set(${t.size})`]: [...t.values()]
} : T(t) && !m(t) && !fn(t) ? String(t) : t;
function jt(e, ...t) {
  console.warn(`[Vue warn] ${e}`, ...t);
}
let dn;
function vo(e, t = dn) {
  t && t.active && t.effects.push(e);
}
function No() {
  return dn;
}
const Ce = (e) => {
  const t = new Set(e);
  return t.w = 0, t.n = 0, t;
}, hn = (e) => (e.w & re) > 0, _n = (e) => (e.n & re) > 0, Eo = ({ deps: e }) => {
  if (e.length)
    for (let t = 0; t < e.length; t++)
      e[t].w |= re;
}, bo = (e) => {
  const { deps: t } = e;
  if (t.length) {
    let n = 0;
    for (let o = 0; o < t.length; o++) {
      const r = t[o];
      hn(r) && !_n(r) ? r.delete(e) : t[n++] = r, r.w &= ~re, r.n &= ~re;
    }
    t.length = n;
  }
}, at = /* @__PURE__ */ new WeakMap();
let Ne = 0, re = 1;
const it = 30;
let z;
const ce = Symbol(process.env.NODE_ENV !== "production" ? "iterate" : ""), ct = Symbol(process.env.NODE_ENV !== "production" ? "Map key iterate" : "");
class gn {
  constructor(t, n = null, o) {
    this.fn = t, this.scheduler = n, this.active = !0, this.deps = [], this.parent = void 0, vo(this, o);
  }
  run() {
    if (!this.active)
      return this.fn();
    let t = z, n = oe;
    for (; t; ) {
      if (t === this)
        return;
      t = t.parent;
    }
    try {
      return this.parent = z, z = this, oe = !0, re = 1 << ++Ne, Ne <= it ? Eo(this) : Kt(this), this.fn();
    } finally {
      Ne <= it && bo(this), re = 1 << --Ne, z = this.parent, oe = n, this.parent = void 0, this.deferStop && this.stop();
    }
  }
  stop() {
    z === this ? this.deferStop = !0 : this.active && (Kt(this), this.onStop && this.onStop(), this.active = !1);
  }
}
function Kt(e) {
  const { deps: t } = e;
  if (t.length) {
    for (let n = 0; n < t.length; n++)
      t[n].delete(e);
    t.length = 0;
  }
}
let oe = !0;
const mn = [];
function Et() {
  mn.push(oe), oe = !1;
}
function bt() {
  const e = mn.pop();
  oe = e === void 0 ? !0 : e;
}
function D(e, t, n) {
  if (oe && z) {
    let o = at.get(e);
    o || at.set(e, o = /* @__PURE__ */ new Map());
    let r = o.get(n);
    r || o.set(n, r = Ce());
    const s = process.env.NODE_ENV !== "production" ? { effect: z, target: e, type: t, key: n } : void 0;
    ut(r, s);
  }
}
function ut(e, t) {
  let n = !1;
  Ne <= it ? _n(e) || (e.n |= re, n = !hn(e)) : n = !e.has(z), n && (e.add(z), z.deps.push(e), process.env.NODE_ENV !== "production" && z.onTrack && z.onTrack(
    K(
      {
        effect: z
      },
      t
    )
  ));
}
function se(e, t, n, o, r, s) {
  const l = at.get(e);
  if (!l)
    return;
  let i = [];
  if (t === "clear")
    i = [...l.values()];
  else if (n === "length" && m(e)) {
    const p = Number(o);
    l.forEach((_, c) => {
      (c === "length" || c >= p) && i.push(_);
    });
  } else
    switch (n !== void 0 && i.push(l.get(n)), t) {
      case "add":
        m(e) ? yt(n) && i.push(l.get("length")) : (i.push(l.get(ce)), ie(e) && i.push(l.get(ct)));
        break;
      case "delete":
        m(e) || (i.push(l.get(ce)), ie(e) && i.push(l.get(ct)));
        break;
      case "set":
        ie(e) && i.push(l.get(ce));
        break;
    }
  const f = process.env.NODE_ENV !== "production" ? { target: e, type: t, key: n, newValue: o, oldValue: r, oldTarget: s } : void 0;
  if (i.length === 1)
    i[0] && (process.env.NODE_ENV !== "production" ? he(i[0], f) : he(i[0]));
  else {
    const p = [];
    for (const _ of i)
      _ && p.push(..._);
    process.env.NODE_ENV !== "production" ? he(Ce(p), f) : he(Ce(p));
  }
}
function he(e, t) {
  const n = m(e) ? e : [...e];
  for (const o of n)
    o.computed && Ht(o, t);
  for (const o of n)
    o.computed || Ht(o, t);
}
function Ht(e, t) {
  (e !== z || e.allowRecurse) && (process.env.NODE_ENV !== "production" && e.onTrigger && e.onTrigger(K({ effect: e }, t)), e.scheduler ? e.scheduler() : e.run());
}
const wo = /* @__PURE__ */ ro("__proto__,__v_isRef,__isVue"), yn = new Set(
  /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((e) => e !== "arguments" && e !== "caller").map((e) => Symbol[e]).filter(mt)
), So = /* @__PURE__ */ wt(), Vo = /* @__PURE__ */ wt(!0), Oo = /* @__PURE__ */ wt(!0, !0), Bt = /* @__PURE__ */ xo();
function xo() {
  const e = {};
  return ["includes", "indexOf", "lastIndexOf"].forEach((t) => {
    e[t] = function(...n) {
      const o = h(this);
      for (let s = 0, l = this.length; s < l; s++)
        D(o, "get", s + "");
      const r = o[t](...n);
      return r === -1 || r === !1 ? o[t](...n.map(h)) : r;
    };
  }), ["push", "pop", "shift", "unshift", "splice"].forEach((t) => {
    e[t] = function(...n) {
      Et();
      const o = h(this)[t].apply(this, n);
      return bt(), o;
    };
  }), e;
}
function Co(e) {
  const t = h(this);
  return D(t, "has", e), t.hasOwnProperty(e);
}
function wt(e = !1, t = !1) {
  return function(o, r, s) {
    if (r === "__v_isReactive")
      return !e;
    if (r === "__v_isReadonly")
      return e;
    if (r === "__v_isShallow")
      return t;
    if (r === "__v_raw" && s === (e ? t ? wn : bn : t ? Bo : En).get(o))
      return o;
    const l = m(o);
    if (!e) {
      if (l && V(Bt, r))
        return Reflect.get(Bt, r, s);
      if (r === "hasOwnProperty")
        return Co;
    }
    const i = Reflect.get(o, r, s);
    return (mt(r) ? yn.has(r) : wo(r)) || (e || D(o, "get", r), t) ? i : M(i) ? l && yt(r) ? i : i.value : T(i) ? e ? Vn(i) : Sn(i) : i;
  };
}
const Ro = /* @__PURE__ */ $o();
function $o(e = !1) {
  return function(n, o, r, s) {
    let l = n[o];
    if (le(l) && M(l) && !M(r))
      return !1;
    if (!e && (!He(r) && !le(r) && (l = h(l), r = h(r)), !m(n) && M(l) && !M(r)))
      return l.value = r, !0;
    const i = m(n) && yt(o) ? Number(o) < n.length : V(n, o), f = Reflect.set(n, o, r, s);
    return n === h(s) && (i ? xe(r, l) && se(n, "set", o, r, l) : se(n, "add", o, r)), f;
  };
}
function Po(e, t) {
  const n = V(e, t), o = e[t], r = Reflect.deleteProperty(e, t);
  return r && n && se(e, "delete", t, void 0, o), r;
}
function ko(e, t) {
  const n = Reflect.has(e, t);
  return (!mt(t) || !yn.has(t)) && D(e, "has", t), n;
}
function Io(e) {
  return D(e, "iterate", m(e) ? "length" : ce), Reflect.ownKeys(e);
}
const To = {
  get: So,
  set: Ro,
  deleteProperty: Po,
  has: ko,
  ownKeys: Io
}, vn = {
  get: Vo,
  set(e, t) {
    return process.env.NODE_ENV !== "production" && jt(
      `Set operation on key "${String(t)}" failed: target is readonly.`,
      e
    ), !0;
  },
  deleteProperty(e, t) {
    return process.env.NODE_ENV !== "production" && jt(
      `Delete operation on key "${String(t)}" failed: target is readonly.`,
      e
    ), !0;
  }
}, Do = /* @__PURE__ */ K(
  {},
  vn,
  {
    get: Oo
  }
), St = (e) => e, Xe = (e) => Reflect.getPrototypeOf(e);
function Ie(e, t, n = !1, o = !1) {
  e = e.__v_raw;
  const r = h(e), s = h(t);
  n || (t !== s && D(r, "get", t), D(r, "get", s));
  const { has: l } = Xe(r), i = o ? St : n ? xt : Re;
  if (l.call(r, t))
    return i(e.get(t));
  if (l.call(r, s))
    return i(e.get(s));
  e !== r && e.get(t);
}
function Te(e, t = !1) {
  const n = this.__v_raw, o = h(n), r = h(e);
  return t || (e !== r && D(o, "has", e), D(o, "has", r)), e === r ? n.has(e) : n.has(e) || n.has(r);
}
function De(e, t = !1) {
  return e = e.__v_raw, !t && D(h(e), "iterate", ce), Reflect.get(e, "size", e);
}
function qt(e) {
  e = h(e);
  const t = h(this);
  return Xe(t).has.call(t, e) || (t.add(e), se(t, "add", e, e)), this;
}
function Wt(e, t) {
  t = h(t);
  const n = h(this), { has: o, get: r } = Xe(n);
  let s = o.call(n, e);
  s ? process.env.NODE_ENV !== "production" && Nn(n, o, e) : (e = h(e), s = o.call(n, e));
  const l = r.call(n, e);
  return n.set(e, t), s ? xe(t, l) && se(n, "set", e, t, l) : se(n, "add", e, t), this;
}
function Lt(e) {
  const t = h(this), { has: n, get: o } = Xe(t);
  let r = n.call(t, e);
  r ? process.env.NODE_ENV !== "production" && Nn(t, n, e) : (e = h(e), r = n.call(t, e));
  const s = o ? o.call(t, e) : void 0, l = t.delete(e);
  return r && se(t, "delete", e, void 0, s), l;
}
function Jt() {
  const e = h(this), t = e.size !== 0, n = process.env.NODE_ENV !== "production" ? ie(e) ? new Map(e) : new Set(e) : void 0, o = e.clear();
  return t && se(e, "clear", void 0, void 0, n), o;
}
function Ae(e, t) {
  return function(o, r) {
    const s = this, l = s.__v_raw, i = h(l), f = t ? St : e ? xt : Re;
    return !e && D(i, "iterate", ce), l.forEach((p, _) => o.call(r, f(p), f(_), s));
  };
}
function Me(e, t, n) {
  return function(...o) {
    const r = this.__v_raw, s = h(r), l = ie(s), i = e === "entries" || e === Symbol.iterator && l, f = e === "keys" && l, p = r[e](...o), _ = n ? St : t ? xt : Re;
    return !t && D(
      s,
      "iterate",
      f ? ct : ce
    ), {
      // iterator protocol
      next() {
        const { value: c, done: u } = p.next();
        return u ? { value: c, done: u } : {
          value: i ? [_(c[0]), _(c[1])] : _(c),
          done: u
        };
      },
      // iterable protocol
      [Symbol.iterator]() {
        return this;
      }
    };
  };
}
function ee(e) {
  return function(...t) {
    if (process.env.NODE_ENV !== "production") {
      const n = t[0] ? `on key "${t[0]}" ` : "";
      console.warn(
        `${Oe(e)} operation ${n}failed: target is readonly.`,
        h(this)
      );
    }
    return e === "delete" ? !1 : this;
  };
}
function Ao() {
  const e = {
    get(s) {
      return Ie(this, s);
    },
    get size() {
      return De(this);
    },
    has: Te,
    add: qt,
    set: Wt,
    delete: Lt,
    clear: Jt,
    forEach: Ae(!1, !1)
  }, t = {
    get(s) {
      return Ie(this, s, !1, !0);
    },
    get size() {
      return De(this);
    },
    has: Te,
    add: qt,
    set: Wt,
    delete: Lt,
    clear: Jt,
    forEach: Ae(!1, !0)
  }, n = {
    get(s) {
      return Ie(this, s, !0);
    },
    get size() {
      return De(this, !0);
    },
    has(s) {
      return Te.call(this, s, !0);
    },
    add: ee("add"),
    set: ee("set"),
    delete: ee("delete"),
    clear: ee("clear"),
    forEach: Ae(!0, !1)
  }, o = {
    get(s) {
      return Ie(this, s, !0, !0);
    },
    get size() {
      return De(this, !0);
    },
    has(s) {
      return Te.call(this, s, !0);
    },
    add: ee("add"),
    set: ee("set"),
    delete: ee("delete"),
    clear: ee("clear"),
    forEach: Ae(!0, !0)
  };
  return ["keys", "values", "entries", Symbol.iterator].forEach((s) => {
    e[s] = Me(
      s,
      !1,
      !1
    ), n[s] = Me(
      s,
      !0,
      !1
    ), t[s] = Me(
      s,
      !1,
      !0
    ), o[s] = Me(
      s,
      !0,
      !0
    );
  }), [
    e,
    n,
    t,
    o
  ];
}
const [
  Mo,
  Fo,
  zo,
  Uo
] = /* @__PURE__ */ Ao();
function Vt(e, t) {
  const n = t ? e ? Uo : zo : e ? Fo : Mo;
  return (o, r, s) => r === "__v_isReactive" ? !e : r === "__v_isReadonly" ? e : r === "__v_raw" ? o : Reflect.get(
    V(n, r) && r in o ? n : o,
    r,
    s
  );
}
const jo = {
  get: /* @__PURE__ */ Vt(!1, !1)
}, Ko = {
  get: /* @__PURE__ */ Vt(!0, !1)
}, Ho = {
  get: /* @__PURE__ */ Vt(!0, !0)
};
function Nn(e, t, n) {
  const o = h(n);
  if (o !== n && t.call(e, o)) {
    const r = un(e);
    console.warn(
      `Reactive ${r} contains both the raw and reactive versions of the same object${r === "Map" ? " as keys" : ""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`
    );
  }
}
const En = /* @__PURE__ */ new WeakMap(), Bo = /* @__PURE__ */ new WeakMap(), bn = /* @__PURE__ */ new WeakMap(), wn = /* @__PURE__ */ new WeakMap();
function qo(e) {
  switch (e) {
    case "Object":
    case "Array":
      return 1;
    case "Map":
    case "Set":
    case "WeakMap":
    case "WeakSet":
      return 2;
    default:
      return 0;
  }
}
function Wo(e) {
  return e.__v_skip || !Object.isExtensible(e) ? 0 : qo(un(e));
}
function Sn(e) {
  return le(e) ? e : Ot(
    e,
    !1,
    To,
    jo,
    En
  );
}
function Vn(e) {
  return Ot(
    e,
    !0,
    vn,
    Ko,
    bn
  );
}
function Fe(e) {
  return Ot(
    e,
    !0,
    Do,
    Ho,
    wn
  );
}
function Ot(e, t, n, o, r) {
  if (!T(e))
    return process.env.NODE_ENV !== "production" && console.warn(`value cannot be made reactive: ${String(e)}`), e;
  if (e.__v_raw && !(t && e.__v_isReactive))
    return e;
  const s = r.get(e);
  if (s)
    return s;
  const l = Wo(e);
  if (l === 0)
    return e;
  const i = new Proxy(
    e,
    l === 2 ? o : n
  );
  return r.set(e, i), i;
}
function ue(e) {
  return le(e) ? ue(e.__v_raw) : !!(e && e.__v_isReactive);
}
function le(e) {
  return !!(e && e.__v_isReadonly);
}
function He(e) {
  return !!(e && e.__v_isShallow);
}
function ft(e) {
  return ue(e) || le(e);
}
function h(e) {
  const t = e && e.__v_raw;
  return t ? h(t) : e;
}
function Lo(e) {
  return ho(e, "__v_skip", !0), e;
}
const Re = (e) => T(e) ? Sn(e) : e, xt = (e) => T(e) ? Vn(e) : e;
function On(e) {
  oe && z && (e = h(e), process.env.NODE_ENV !== "production" ? ut(e.dep || (e.dep = Ce()), {
    target: e,
    type: "get",
    key: "value"
  }) : ut(e.dep || (e.dep = Ce())));
}
function xn(e, t) {
  e = h(e);
  const n = e.dep;
  n && (process.env.NODE_ENV !== "production" ? he(n, {
    target: e,
    type: "set",
    key: "value",
    newValue: t
  }) : he(n));
}
function M(e) {
  return !!(e && e.__v_isRef === !0);
}
function q(e) {
  return Jo(e, !1);
}
function Jo(e, t) {
  return M(e) ? e : new Go(e, t);
}
class Go {
  constructor(t, n) {
    this.__v_isShallow = n, this.dep = void 0, this.__v_isRef = !0, this._rawValue = n ? t : h(t), this._value = n ? t : Re(t);
  }
  get value() {
    return On(this), this._value;
  }
  set value(t) {
    const n = this.__v_isShallow || He(t) || le(t);
    t = n ? t : h(t), xe(t, this._rawValue) && (this._rawValue = t, this._value = n ? t : Re(t), xn(this, t));
  }
}
function Ee(e) {
  return M(e) ? e.value : e;
}
const Yo = {
  get: (e, t, n) => Ee(Reflect.get(e, t, n)),
  set: (e, t, n, o) => {
    const r = e[t];
    return M(r) && !M(n) ? (r.value = n, !0) : Reflect.set(e, t, n, o);
  }
};
function Qo(e) {
  return ue(e) ? e : new Proxy(e, Yo);
}
class Xo {
  constructor(t, n, o, r) {
    this._setter = n, this.dep = void 0, this.__v_isRef = !0, this.__v_isReadonly = !1, this._dirty = !0, this.effect = new gn(t, () => {
      this._dirty || (this._dirty = !0, xn(this));
    }), this.effect.computed = this, this.effect.active = this._cacheable = !r, this.__v_isReadonly = o;
  }
  get value() {
    const t = h(this);
    return On(t), (t._dirty || !t._cacheable) && (t._dirty = !1, t._value = t.effect.run()), t._value;
  }
  set value(t) {
    this._setter(t);
  }
}
function Zo(e, t, n = !1) {
  let o, r;
  const s = R(e);
  s ? (o = e, r = process.env.NODE_ENV !== "production" ? () => {
    console.warn("Write operation failed: computed value is readonly");
  } : gt) : (o = e.get, r = e.set);
  const l = new Xo(o, r, s || !r, n);
  return process.env.NODE_ENV !== "production" && t && !n && (l.effect.onTrack = t.onTrack, l.effect.onTrigger = t.onTrigger), l;
}
const fe = [];
function er(e) {
  fe.push(e);
}
function tr() {
  fe.pop();
}
function y(e, ...t) {
  if (process.env.NODE_ENV === "production")
    return;
  Et();
  const n = fe.length ? fe[fe.length - 1].component : null, o = n && n.appContext.config.warnHandler, r = nr();
  if (o)
    pe(
      o,
      n,
      11,
      [
        e + t.join(""),
        n && n.proxy,
        r.map(
          ({ vnode: s }) => `at <${qn(n, s.type)}>`
        ).join(`
`),
        r
      ]
    );
  else {
    const s = [`[Vue warn]: ${e}`, ...t];
    r.length && s.push(`
`, ...or(r)), console.warn(...s);
  }
  bt();
}
function nr() {
  let e = fe[fe.length - 1];
  if (!e)
    return [];
  const t = [];
  for (; e; ) {
    const n = t[0];
    n && n.vnode === e ? n.recurseCount++ : t.push({
      vnode: e,
      recurseCount: 0
    });
    const o = e.component && e.component.parent;
    e = o && o.vnode;
  }
  return t;
}
function or(e) {
  const t = [];
  return e.forEach((n, o) => {
    t.push(...o === 0 ? [] : [`
`], ...rr(n));
  }), t;
}
function rr({ vnode: e, recurseCount: t }) {
  const n = t > 0 ? `... (${t} recursive calls)` : "", o = e.component ? e.component.parent == null : !1, r = ` at <${qn(
    e.component,
    e.type,
    o
  )}`, s = ">" + n;
  return e.props ? [r, ...sr(e.props), s] : [r + s];
}
function sr(e) {
  const t = [], n = Object.keys(e);
  return n.slice(0, 3).forEach((o) => {
    t.push(...Cn(o, e[o]));
  }), n.length > 3 && t.push(" ..."), t;
}
function Cn(e, t, n) {
  return j(t) ? (t = JSON.stringify(t), n ? t : [`${e}=${t}`]) : typeof t == "number" || typeof t == "boolean" || t == null ? n ? t : [`${e}=${t}`] : M(t) ? (t = Cn(e, h(t.value), !0), n ? t : [`${e}=Ref<`, t, ">"]) : R(t) ? [`${e}=fn${t.name ? `<${t.name}>` : ""}`] : (t = h(t), n ? t : [`${e}=`, t]);
}
const Ct = {
  sp: "serverPrefetch hook",
  bc: "beforeCreate hook",
  c: "created hook",
  bm: "beforeMount hook",
  m: "mounted hook",
  bu: "beforeUpdate hook",
  u: "updated",
  bum: "beforeUnmount hook",
  um: "unmounted hook",
  a: "activated hook",
  da: "deactivated hook",
  ec: "errorCaptured hook",
  rtc: "renderTracked hook",
  rtg: "renderTriggered hook",
  0: "setup function",
  1: "render function",
  2: "watcher getter",
  3: "watcher callback",
  4: "watcher cleanup function",
  5: "native event handler",
  6: "component event handler",
  7: "vnode hook",
  8: "directive hook",
  9: "transition hook",
  10: "app errorHandler",
  11: "app warnHandler",
  12: "ref function",
  13: "async component loader",
  14: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core"
};
function pe(e, t, n, o) {
  let r;
  try {
    r = o ? e(...o) : e();
  } catch (s) {
    Rn(s, t, n);
  }
  return r;
}
function Be(e, t, n, o) {
  if (R(e)) {
    const s = pe(e, t, n, o);
    return s && uo(s) && s.catch((l) => {
      Rn(l, t, n);
    }), s;
  }
  const r = [];
  for (let s = 0; s < e.length; s++)
    r.push(Be(e[s], t, n, o));
  return r;
}
function Rn(e, t, n, o = !0) {
  const r = t ? t.vnode : null;
  if (t) {
    let s = t.parent;
    const l = t.proxy, i = process.env.NODE_ENV !== "production" ? Ct[n] : n;
    for (; s; ) {
      const p = s.ec;
      if (p) {
        for (let _ = 0; _ < p.length; _++)
          if (p[_](e, l, i) === !1)
            return;
      }
      s = s.parent;
    }
    const f = t.appContext.config.errorHandler;
    if (f) {
      pe(
        f,
        null,
        10,
        [e, l, i]
      );
      return;
    }
  }
  lr(e, n, r, o);
}
function lr(e, t, n, o = !0) {
  if (process.env.NODE_ENV !== "production") {
    const r = Ct[t];
    if (n && er(n), y(`Unhandled error${r ? ` during execution of ${r}` : ""}`), n && tr(), o)
      throw e;
    console.error(e);
  } else
    console.error(e);
}
let qe = !1, pt = !1;
const W = [];
let ne = 0;
const me = [];
let G = null, te = 0;
const $n = /* @__PURE__ */ Promise.resolve();
let Rt = null;
const ar = 100;
function ir(e) {
  const t = Rt || $n;
  return e ? t.then(this ? e.bind(this) : e) : t;
}
function cr(e) {
  let t = ne + 1, n = W.length;
  for (; t < n; ) {
    const o = t + n >>> 1;
    $e(W[o]) < e ? t = o + 1 : n = o;
  }
  return t;
}
function $t(e) {
  (!W.length || !W.includes(
    e,
    qe && e.allowRecurse ? ne + 1 : ne
  )) && (e.id == null ? W.push(e) : W.splice(cr(e.id), 0, e), Pn());
}
function Pn() {
  !qe && !pt && (pt = !0, Rt = $n.then(In));
}
function kn(e) {
  m(e) ? me.push(...e) : (!G || !G.includes(
    e,
    e.allowRecurse ? te + 1 : te
  )) && me.push(e), Pn();
}
function ur(e) {
  if (me.length) {
    const t = [...new Set(me)];
    if (me.length = 0, G) {
      G.push(...t);
      return;
    }
    for (G = t, process.env.NODE_ENV !== "production" && (e = e || /* @__PURE__ */ new Map()), G.sort((n, o) => $e(n) - $e(o)), te = 0; te < G.length; te++)
      process.env.NODE_ENV !== "production" && Tn(e, G[te]) || G[te]();
    G = null, te = 0;
  }
}
const $e = (e) => e.id == null ? 1 / 0 : e.id, fr = (e, t) => {
  const n = $e(e) - $e(t);
  if (n === 0) {
    if (e.pre && !t.pre)
      return -1;
    if (t.pre && !e.pre)
      return 1;
  }
  return n;
};
function In(e) {
  pt = !1, qe = !0, process.env.NODE_ENV !== "production" && (e = e || /* @__PURE__ */ new Map()), W.sort(fr);
  const t = process.env.NODE_ENV !== "production" ? (n) => Tn(e, n) : gt;
  try {
    for (ne = 0; ne < W.length; ne++) {
      const n = W[ne];
      if (n && n.active !== !1) {
        if (process.env.NODE_ENV !== "production" && t(n))
          continue;
        pe(n, null, 14);
      }
    }
  } finally {
    ne = 0, W.length = 0, ur(e), qe = !1, Rt = null, (W.length || me.length) && In(e);
  }
}
function Tn(e, t) {
  if (!e.has(t))
    e.set(t, 1);
  else {
    const n = e.get(t);
    if (n > ar) {
      const o = t.ownerInstance, r = o && It(o.type);
      return y(
        `Maximum recursive updates exceeded${r ? ` in component <${r}>` : ""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`
      ), !0;
    } else
      e.set(t, n + 1);
  }
}
const ve = /* @__PURE__ */ new Set();
process.env.NODE_ENV !== "production" && (lt().__VUE_HMR_RUNTIME__ = {
  createRecord: ot(pr),
  rerender: ot(dr),
  reload: ot(hr)
});
const We = /* @__PURE__ */ new Map();
function pr(e, t) {
  return We.has(e) ? !1 : (We.set(e, {
    initialDef: Se(t),
    instances: /* @__PURE__ */ new Set()
  }), !0);
}
function Se(e) {
  return Wn(e) ? e.__vccOpts : e;
}
function dr(e, t) {
  const n = We.get(e);
  n && (n.initialDef.render = t, [...n.instances].forEach((o) => {
    t && (o.render = t, Se(o.type).render = t), o.renderCache = [], o.update();
  }));
}
function hr(e, t) {
  const n = We.get(e);
  if (!n)
    return;
  t = Se(t), Gt(n.initialDef, t);
  const o = [...n.instances];
  for (const r of o) {
    const s = Se(r.type);
    ve.has(s) || (s !== n.initialDef && Gt(s, t), ve.add(s)), r.appContext.propsCache.delete(r.type), r.appContext.emitsCache.delete(r.type), r.appContext.optionsCache.delete(r.type), r.ceReload ? (ve.add(s), r.ceReload(t.styles), ve.delete(s)) : r.parent ? $t(r.parent.update) : r.appContext.reload ? r.appContext.reload() : typeof window < "u" ? window.location.reload() : console.warn(
      "[HMR] Root or manually mounted instance modified. Full reload required."
    );
  }
  kn(() => {
    for (const r of o)
      ve.delete(
        Se(r.type)
      );
  });
}
function Gt(e, t) {
  K(e, t);
  for (const n in e)
    n !== "__file" && !(n in t) && delete e[n];
}
function ot(e) {
  return (t, n) => {
    try {
      return e(t, n);
    } catch (o) {
      console.error(o), console.warn(
        "[HMR] Something went wrong during Vue component hot-reload. Full reload required."
      );
    }
  };
}
function _r(e, ...t) {
}
const gr = /* @__PURE__ */ mr(
  "component:updated"
  /* COMPONENT_UPDATED */
);
function mr(e) {
  return (t) => {
    _r(
      e,
      t.appContext.app,
      t.uid,
      t.parent ? t.parent.uid : void 0,
      t
    );
  };
}
let I = null, Dn = null;
function Yt(e) {
  const t = I;
  return I = e, Dn = e && e.type.__scopeId || null, t;
}
function w(e, t = I, n) {
  if (!t || e._n)
    return e;
  const o = (...r) => {
    o._d && rn(-1);
    const s = Yt(t);
    let l;
    try {
      l = e(...r);
    } finally {
      Yt(s), o._d && rn(1);
    }
    return process.env.NODE_ENV !== "production" && gr(t), l;
  };
  return o._n = !0, o._c = !0, o._d = !0, o;
}
const yr = (e) => e.__isSuspense;
function vr(e, t) {
  t && t.pendingBranch ? m(e) ? t.effects.push(...e) : t.effects.push(e) : kn(e);
}
const ze = {};
function Nr(e, t, n) {
  return process.env.NODE_ENV !== "production" && !R(t) && y(
    "`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature."
  ), An(e, t, n);
}
function An(e, t, { immediate: n, deep: o, flush: r, onTrack: s, onTrigger: l } = Y) {
  var i;
  process.env.NODE_ENV !== "production" && !t && (n !== void 0 && y(
    'watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.'
  ), o !== void 0 && y(
    'watch() "deep" option is only respected when using the watch(source, callback, options?) signature.'
  ));
  const f = (E) => {
    y(
      "Invalid watch source: ",
      E,
      "A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types."
    );
  }, p = No() === ((i = Q) == null ? void 0 : i.scope) ? Q : null;
  let _, c = !1, u = !1;
  if (M(e) ? (_ = () => e.value, c = He(e)) : ue(e) ? (_ = () => e, o = !0) : m(e) ? (u = !0, c = e.some((E) => ue(E) || He(E)), _ = () => e.map((E) => {
    if (M(E))
      return E.value;
    if (ue(E))
      return _e(E);
    if (R(E))
      return pe(E, p, 2);
    process.env.NODE_ENV !== "production" && f(E);
  })) : R(e) ? t ? _ = () => pe(e, p, 2) : _ = () => {
    if (!(p && p.isUnmounted))
      return v && v(), Be(
        e,
        p,
        3,
        [O]
      );
  } : (_ = gt, process.env.NODE_ENV !== "production" && f(e)), t && o) {
    const E = _;
    _ = () => _e(E());
  }
  let v, O = (E) => {
    v = $.onStop = () => {
      pe(E, p, 4);
    };
  }, A = u ? new Array(e.length).fill(ze) : ze;
  const J = () => {
    if ($.active)
      if (t) {
        const E = $.run();
        (o || c || (u ? E.some(
          (Ze, et) => xe(Ze, A[et])
        ) : xe(E, A))) && (v && v(), Be(t, p, 3, [
          E,
          // pass undefined as the old value when it's changed for the first time
          A === ze ? void 0 : u && A[0] === ze ? [] : A,
          O
        ]), A = E);
      } else
        $.run();
  };
  J.allowRecurse = !!t;
  let X;
  r === "sync" ? X = J : r === "post" ? X = () => on(J, p && p.suspense) : (J.pre = !0, p && (J.id = p.uid), X = () => $t(J));
  const $ = new gn(_, X);
  return process.env.NODE_ENV !== "production" && ($.onTrack = s, $.onTrigger = l), t ? n ? J() : A = $.run() : r === "post" ? on(
    $.run.bind($),
    p && p.suspense
  ) : $.run(), () => {
    $.stop(), p && p.scope && io(p.scope.effects, $);
  };
}
function Er(e, t, n) {
  const o = this.proxy, r = j(e) ? e.includes(".") ? br(o, e) : () => o[e] : e.bind(o, o);
  let s;
  R(t) ? s = t : (s = t.handler, n = t);
  const l = Q;
  _t(this);
  const i = An(r, s.bind(o), n);
  return l ? _t(l) : Bn(), i;
}
function br(e, t) {
  const n = t.split(".");
  return () => {
    let o = e;
    for (let r = 0; r < n.length && o; r++)
      o = o[n[r]];
    return o;
  };
}
function _e(e, t) {
  if (!T(e) || e.__v_skip || (t = t || /* @__PURE__ */ new Set(), t.has(e)))
    return e;
  if (t.add(e), M(e))
    _e(e.value, t);
  else if (m(e))
    for (let n = 0; n < e.length; n++)
      _e(e[n], t);
  else if (an(e) || ie(e))
    e.forEach((n) => {
      _e(n, t);
    });
  else if (fn(e))
    for (const n in e)
      _e(e[n], t);
  return e;
}
function wr(e, t) {
  return R(e) ? (
    // #8326: extend call and options.name access are considered side-effects
    // by Rollup, so we have to wrap it in a pure-annotated IIFE.
    /* @__PURE__ */ (() => K({ name: e.name }, t, { setup: e }))()
  ) : e;
}
const Sr = (e) => !!e.type.__asyncLoader;
function Vr(e, t, n = Q, o = !1) {
  if (n) {
    const r = n[e] || (n[e] = []), s = t.__weh || (t.__weh = (...l) => {
      if (n.isUnmounted)
        return;
      Et(), _t(n);
      const i = Be(t, n, e, l);
      return Bn(), bt(), i;
    });
    return o ? r.unshift(s) : r.push(s), s;
  } else if (process.env.NODE_ENV !== "production") {
    const r = po(Ct[e].replace(/ hook$/, ""));
    y(
      `${r} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`
    );
  }
}
const Or = (e) => (t, n = Q) => (
  // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)
  Vr(e, (...o) => t(...o), n)
), xr = Or("m"), dt = "components";
function U(e, t) {
  return Rr(dt, e, !0, t) || e;
}
const Cr = Symbol.for("v-ndc");
function Rr(e, t, n = !0, o = !1) {
  const r = I || Q;
  if (r) {
    const s = r.type;
    if (e === dt) {
      const i = It(
        s,
        !1
        /* do not include inferred name to avoid breaking existing code */
      );
      if (i && (i === t || i === Ke(t) || i === Oe(Ke(t))))
        return s;
    }
    const l = (
      // local registration
      // check instance[type] first which is resolved for options API
      Qt(r[e] || s[e], t) || // global registration
      Qt(r.appContext[e], t)
    );
    if (!l && o)
      return s;
    if (process.env.NODE_ENV !== "production" && n && !l) {
      const i = e === dt ? `
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : "";
      y(`Failed to resolve ${e.slice(0, -1)}: ${t}${i}`);
    }
    return l;
  } else
    process.env.NODE_ENV !== "production" && y(
      `resolve${Oe(e.slice(0, -1))} can only be used in render() or setup().`
    );
}
function Qt(e, t) {
  return e && (e[t] || e[Ke(t)] || e[Oe(Ke(t))]);
}
function Xt(e, t, n, o) {
  let r;
  const s = n && n[o];
  if (m(e) || j(e)) {
    r = new Array(e.length);
    for (let l = 0, i = e.length; l < i; l++)
      r[l] = t(e[l], l, void 0, s && s[l]);
  } else if (typeof e == "number") {
    process.env.NODE_ENV !== "production" && !Number.isInteger(e) && y(`The v-for range expect an integer value but got ${e}.`), r = new Array(e);
    for (let l = 0; l < e; l++)
      r[l] = t(l + 1, l, void 0, s && s[l]);
  } else if (T(e))
    if (e[Symbol.iterator])
      r = Array.from(
        e,
        (l, i) => t(l, i, void 0, s && s[i])
      );
    else {
      const l = Object.keys(e);
      r = new Array(l.length);
      for (let i = 0, f = l.length; i < f; i++) {
        const p = l[i];
        r[i] = t(e[p], p, i, s && s[i]);
      }
    }
  else
    r = [];
  return n && (n[o] = r), r;
}
function $r(e, t) {
  for (let n = 0; n < t.length; n++) {
    const o = t[n];
    if (m(o))
      for (let r = 0; r < o.length; r++)
        e[o[r].name] = o[r].fn;
    else
      o && (e[o.name] = o.key ? (...r) => {
        const s = o.fn(...r);
        return s && (s.key = o.key), s;
      } : o.fn);
  }
  return e;
}
function ae(e, t, n = {}, o, r) {
  if (I.isCE || I.parent && Sr(I.parent) && I.parent.isCE)
    return t !== "default" && (n.name = t), b("slot", n, o && o());
  let s = e[t];
  process.env.NODE_ENV !== "production" && s && s.length > 1 && (y(
    "SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."
  ), s = () => []), s && s._c && (s._d = !1), g();
  const l = s && Mn(s(n)), i = C(
    B,
    {
      key: n.key || // slot content array of a dynamic conditional slot may have a branch
      // key attached in the `createSlots` helper, respect that
      l && l.key || `_${t}`
    },
    l || (o ? o() : []),
    l && e._ === 1 ? 64 : -2
  );
  return !r && i.scopeId && (i.slotScopeIds = [i.scopeId + "-s"]), s && s._c && (s._d = !0), i;
}
function Mn(e) {
  return e.some((t) => zn(t) ? !(t.type === Je || t.type === B && !Mn(t.children)) : !0) ? e : null;
}
const ht = (e) => e ? qr(e) ? Gr(e) || e.proxy : ht(e.parent) : null, Ve = (
  // Move PURE marker to new line to workaround compiler discarding it
  // due to type annotation
  /* @__PURE__ */ K(/* @__PURE__ */ Object.create(null), {
    $: (e) => e,
    $el: (e) => e.vnode.el,
    $data: (e) => e.data,
    $props: (e) => process.env.NODE_ENV !== "production" ? Fe(e.props) : e.props,
    $attrs: (e) => process.env.NODE_ENV !== "production" ? Fe(e.attrs) : e.attrs,
    $slots: (e) => process.env.NODE_ENV !== "production" ? Fe(e.slots) : e.slots,
    $refs: (e) => process.env.NODE_ENV !== "production" ? Fe(e.refs) : e.refs,
    $parent: (e) => ht(e.parent),
    $root: (e) => ht(e.root),
    $emit: (e) => e.emit,
    $options: (e) => Dr(e),
    $forceUpdate: (e) => e.f || (e.f = () => $t(e.update)),
    $nextTick: (e) => e.n || (e.n = ir.bind(e.proxy)),
    $watch: (e) => Er.bind(e)
  })
), Pr = (e) => e === "_" || e === "$", rt = (e, t) => e !== Y && !e.__isScriptSetup && V(e, t), kr = {
  get({ _: e }, t) {
    const { ctx: n, setupState: o, data: r, props: s, accessCache: l, type: i, appContext: f } = e;
    if (process.env.NODE_ENV !== "production" && t === "__isVue")
      return !0;
    let p;
    if (t[0] !== "$") {
      const v = l[t];
      if (v !== void 0)
        switch (v) {
          case 1:
            return o[t];
          case 2:
            return r[t];
          case 4:
            return n[t];
          case 3:
            return s[t];
        }
      else {
        if (rt(o, t))
          return l[t] = 1, o[t];
        if (r !== Y && V(r, t))
          return l[t] = 2, r[t];
        if (
          // only cache other properties when instance has declared (thus stable)
          // props
          (p = e.propsOptions[0]) && V(p, t)
        )
          return l[t] = 3, s[t];
        if (n !== Y && V(n, t))
          return l[t] = 4, n[t];
        l[t] = 0;
      }
    }
    const _ = Ve[t];
    let c, u;
    if (_)
      return t === "$attrs" ? (D(e, "get", t), process.env.NODE_ENV !== "production" && void 0) : process.env.NODE_ENV !== "production" && t === "$slots" && D(e, "get", t), _(e);
    if (
      // css module (injected by vue-loader)
      (c = i.__cssModules) && (c = c[t])
    )
      return c;
    if (n !== Y && V(n, t))
      return l[t] = 4, n[t];
    if (
      // global properties
      u = f.config.globalProperties, V(u, t)
    )
      return u[t];
    process.env.NODE_ENV !== "production" && I && (!j(t) || // #1091 avoid internal isRef/isVNode checks on component instance leading
    // to infinite warning loop
    t.indexOf("__v") !== 0) && (r !== Y && Pr(t[0]) && V(r, t) ? y(
      `Property ${JSON.stringify(
        t
      )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`
    ) : e === I && y(
      `Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`
    ));
  },
  set({ _: e }, t, n) {
    const { data: o, setupState: r, ctx: s } = e;
    return rt(r, t) ? (r[t] = n, !0) : process.env.NODE_ENV !== "production" && r.__isScriptSetup && V(r, t) ? (y(`Cannot mutate <script setup> binding "${t}" from Options API.`), !1) : o !== Y && V(o, t) ? (o[t] = n, !0) : V(e.props, t) ? (process.env.NODE_ENV !== "production" && y(`Attempting to mutate prop "${t}". Props are readonly.`), !1) : t[0] === "$" && t.slice(1) in e ? (process.env.NODE_ENV !== "production" && y(
      `Attempting to mutate public property "${t}". Properties starting with $ are reserved and readonly.`
    ), !1) : (process.env.NODE_ENV !== "production" && t in e.appContext.config.globalProperties ? Object.defineProperty(s, t, {
      enumerable: !0,
      configurable: !0,
      value: n
    }) : s[t] = n, !0);
  },
  has({
    _: { data: e, setupState: t, accessCache: n, ctx: o, appContext: r, propsOptions: s }
  }, l) {
    let i;
    return !!n[l] || e !== Y && V(e, l) || rt(t, l) || (i = s[0]) && V(i, l) || V(o, l) || V(Ve, l) || V(r.config.globalProperties, l);
  },
  defineProperty(e, t, n) {
    return n.get != null ? e._.accessCache[t] = 0 : V(n, "value") && this.set(e, t, n.value, null), Reflect.defineProperty(e, t, n);
  }
};
process.env.NODE_ENV !== "production" && (kr.ownKeys = (e) => (y(
  "Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead."
), Reflect.ownKeys(e)));
function Ir() {
  return Tr().slots;
}
function Tr() {
  const e = Br();
  return process.env.NODE_ENV !== "production" && !e && y("useContext() called without active instance."), e.setupContext || (e.setupContext = Jr(e));
}
function Zt(e) {
  return m(e) ? e.reduce(
    (t, n) => (t[n] = null, t),
    {}
  ) : e;
}
function Dr(e) {
  const t = e.type, { mixins: n, extends: o } = t, {
    mixins: r,
    optionsCache: s,
    config: { optionMergeStrategies: l }
  } = e.appContext, i = s.get(t);
  let f;
  return i ? f = i : !r.length && !n && !o ? f = t : (f = {}, r.length && r.forEach(
    (p) => Le(f, p, l, !0)
  ), Le(f, t, l)), T(t) && s.set(t, f), f;
}
function Le(e, t, n, o = !1) {
  const { mixins: r, extends: s } = t;
  s && Le(e, s, n, !0), r && r.forEach(
    (l) => Le(e, l, n, !0)
  );
  for (const l in t)
    if (o && l === "expose")
      process.env.NODE_ENV !== "production" && y(
        '"expose" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.'
      );
    else {
      const i = Ar[l] || n && n[l];
      e[l] = i ? i(e[l], t[l]) : t[l];
    }
  return e;
}
const Ar = {
  data: en,
  props: nn,
  emits: nn,
  // objects
  methods: be,
  computed: be,
  // lifecycle
  beforeCreate: F,
  created: F,
  beforeMount: F,
  mounted: F,
  beforeUpdate: F,
  updated: F,
  beforeDestroy: F,
  beforeUnmount: F,
  destroyed: F,
  unmounted: F,
  activated: F,
  deactivated: F,
  errorCaptured: F,
  serverPrefetch: F,
  // assets
  components: be,
  directives: be,
  // watch
  watch: Fr,
  // provide / inject
  provide: en,
  inject: Mr
};
function en(e, t) {
  return t ? e ? function() {
    return K(
      R(e) ? e.call(this, this) : e,
      R(t) ? t.call(this, this) : t
    );
  } : t : e;
}
function Mr(e, t) {
  return be(tn(e), tn(t));
}
function tn(e) {
  if (m(e)) {
    const t = {};
    for (let n = 0; n < e.length; n++)
      t[e[n]] = e[n];
    return t;
  }
  return e;
}
function F(e, t) {
  return e ? [...new Set([].concat(e, t))] : t;
}
function be(e, t) {
  return e ? K(/* @__PURE__ */ Object.create(null), e, t) : t;
}
function nn(e, t) {
  return e ? m(e) && m(t) ? [.../* @__PURE__ */ new Set([...e, ...t])] : K(
    /* @__PURE__ */ Object.create(null),
    Zt(e),
    Zt(t ?? {})
  ) : t;
}
function Fr(e, t) {
  if (!e)
    return t;
  if (!t)
    return e;
  const n = K(/* @__PURE__ */ Object.create(null), e);
  for (const o in t)
    n[o] = F(e[o], t[o]);
  return n;
}
const on = vr, zr = (e) => e.__isTeleport, B = Symbol.for("v-fgt"), Ur = Symbol.for("v-txt"), Je = Symbol.for("v-cmt"), Ue = [];
let L = null;
function g(e = !1) {
  Ue.push(L = e ? null : []);
}
function jr() {
  Ue.pop(), L = Ue[Ue.length - 1] || null;
}
let Pe = 1;
function rn(e) {
  Pe += e;
}
function Fn(e) {
  return e.dynamicChildren = Pe > 0 ? L || so : null, jr(), Pe > 0 && L && L.push(e), e;
}
function H(e, t, n, o, r, s) {
  return Fn(
    ge(
      e,
      t,
      n,
      o,
      r,
      s,
      !0
      /* isBlock */
    )
  );
}
function C(e, t, n, o, r) {
  return Fn(
    b(
      e,
      t,
      n,
      o,
      r,
      !0
      /* isBlock: prevent a block from tracking itself */
    )
  );
}
function zn(e) {
  return e ? e.__v_isVNode === !0 : !1;
}
const Kr = (...e) => Kn(
  ...e
), Un = "__vInternal", jn = ({ key: e }) => e ?? null, je = ({
  ref: e,
  ref_key: t,
  ref_for: n
}) => (typeof e == "number" && (e = "" + e), e != null ? j(e) || M(e) || R(e) ? { i: I, r: e, k: t, f: !!n } : e : null);
function ge(e, t = null, n = null, o = 0, r = null, s = e === B ? 0 : 1, l = !1, i = !1) {
  const f = {
    __v_isVNode: !0,
    __v_skip: !0,
    type: e,
    props: t,
    key: t && jn(t),
    ref: t && je(t),
    scopeId: Dn,
    slotScopeIds: null,
    children: n,
    component: null,
    suspense: null,
    ssContent: null,
    ssFallback: null,
    dirs: null,
    transition: null,
    el: null,
    anchor: null,
    target: null,
    targetAnchor: null,
    staticCount: 0,
    shapeFlag: s,
    patchFlag: o,
    dynamicProps: r,
    dynamicChildren: null,
    appContext: null,
    ctx: I
  };
  return i ? (Pt(f, n), s & 128 && e.normalize(f)) : n && (f.shapeFlag |= j(n) ? 8 : 16), process.env.NODE_ENV !== "production" && f.key !== f.key && y("VNode created with invalid key (NaN). VNode type:", f.type), Pe > 0 && // avoid a block node from tracking itself
  !l && // has current parent block
  L && // presence of a patch flag indicates this node needs patching on updates.
  // component nodes also should always be patched, because even if the
  // component doesn't need to update, it needs to persist the instance on to
  // the next vnode so that it can be properly unmounted later.
  (f.patchFlag > 0 || s & 6) && // the EVENTS flag is only for hydration and if it is the only flag, the
  // vnode should not be considered dynamic due to handler caching.
  f.patchFlag !== 32 && L.push(f), f;
}
const b = process.env.NODE_ENV !== "production" ? Kr : Kn;
function Kn(e, t = null, n = null, o = 0, r = null, s = !1) {
  if ((!e || e === Cr) && (process.env.NODE_ENV !== "production" && !e && y(`Invalid vnode type when creating vnode: ${e}.`), e = Je), zn(e)) {
    const i = Ge(
      e,
      t,
      !0
      /* mergeRef: true */
    );
    return n && Pt(i, n), Pe > 0 && !s && L && (i.shapeFlag & 6 ? L[L.indexOf(e)] = i : L.push(i)), i.patchFlag |= -2, i;
  }
  if (Wn(e) && (e = e.__vccOpts), t) {
    t = Hr(t);
    let { class: i, style: f } = t;
    i && !j(i) && (t.class = Nt(i)), T(f) && (ft(f) && !m(f) && (f = K({}, f)), t.style = Qe(f));
  }
  const l = j(e) ? 1 : yr(e) ? 128 : zr(e) ? 64 : T(e) ? 4 : R(e) ? 2 : 0;
  return process.env.NODE_ENV !== "production" && l & 4 && ft(e) && (e = h(e), y(
    "Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.",
    `
Component that was made reactive: `,
    e
  )), ge(
    e,
    t,
    n,
    o,
    r,
    l,
    s,
    !0
  );
}
function Hr(e) {
  return e ? ft(e) || Un in e ? K({}, e) : e : null;
}
function Ge(e, t, n = !1) {
  const { props: o, ref: r, patchFlag: s, children: l } = e, i = t ? k(o || {}, t) : o;
  return {
    __v_isVNode: !0,
    __v_skip: !0,
    type: e.type,
    props: i,
    key: i && jn(i),
    ref: t && t.ref ? (
      // #2078 in the case of <component :is="vnode" ref="extra"/>
      // if the vnode itself already has a ref, cloneVNode will need to merge
      // the refs so the single vnode can be set on multiple refs
      n && r ? m(r) ? r.concat(je(t)) : [r, je(t)] : je(t)
    ) : r,
    scopeId: e.scopeId,
    slotScopeIds: e.slotScopeIds,
    children: process.env.NODE_ENV !== "production" && s === -1 && m(l) ? l.map(Hn) : l,
    target: e.target,
    targetAnchor: e.targetAnchor,
    staticCount: e.staticCount,
    shapeFlag: e.shapeFlag,
    // if the vnode is cloned with extra props, we can no longer assume its
    // existing patch flag to be reliable and need to add the FULL_PROPS flag.
    // note: preserve flag for fragments since they use the flag for children
    // fast paths only.
    patchFlag: t && e.type !== B ? s === -1 ? 16 : s | 16 : s,
    dynamicProps: e.dynamicProps,
    dynamicChildren: e.dynamicChildren,
    appContext: e.appContext,
    dirs: e.dirs,
    transition: e.transition,
    // These should technically only be non-null on mounted VNodes. However,
    // they *should* be copied for kept-alive vnodes. So we just always copy
    // them since them being non-null during a mount doesn't affect the logic as
    // they will simply be overwritten.
    component: e.component,
    suspense: e.suspense,
    ssContent: e.ssContent && Ge(e.ssContent),
    ssFallback: e.ssFallback && Ge(e.ssFallback),
    el: e.el,
    anchor: e.anchor,
    ctx: e.ctx,
    ce: e.ce
  };
}
function Hn(e) {
  const t = Ge(e);
  return m(e.children) && (t.children = e.children.map(Hn)), t;
}
function we(e = " ", t = 0) {
  return b(Ur, null, e, t);
}
function S(e = "", t = !1) {
  return t ? (g(), C(Je, null, e)) : b(Je, null, e);
}
function Pt(e, t) {
  let n = 0;
  const { shapeFlag: o } = e;
  if (t == null)
    t = null;
  else if (m(t))
    n = 16;
  else if (typeof t == "object")
    if (o & 65) {
      const r = t.default;
      r && (r._c && (r._d = !1), Pt(e, r()), r._c && (r._d = !0));
      return;
    } else {
      n = 32;
      const r = t._;
      !r && !(Un in t) ? t._ctx = I : r === 3 && I && (I.slots._ === 1 ? t._ = 1 : (t._ = 2, e.patchFlag |= 1024));
    }
  else
    R(t) ? (t = { default: t, _ctx: I }, n = 32) : (t = String(t), o & 64 ? (n = 16, t = [we(t)]) : n = 8);
  e.children = t, e.shapeFlag |= n;
}
function k(...e) {
  const t = {};
  for (let n = 0; n < e.length; n++) {
    const o = e[n];
    for (const r in o)
      if (r === "class")
        t.class !== o.class && (t.class = Nt([t.class, o.class]));
      else if (r === "style")
        t.style = Qe([t.style, o.style]);
      else if (ao(r)) {
        const s = t[r], l = o[r];
        l && s !== l && !(m(s) && s.includes(l)) && (t[r] = s ? [].concat(s, l) : l);
      } else
        r !== "" && (t[r] = o[r]);
  }
  return t;
}
let Q = null;
const Br = () => Q || I;
let kt, de, sn = "__VUE_INSTANCE_SETTERS__";
(de = lt()[sn]) || (de = lt()[sn] = []), de.push((e) => Q = e), kt = (e) => {
  de.length > 1 ? de.forEach((t) => t(e)) : de[0](e);
};
const _t = (e) => {
  kt(e), e.scope.on();
}, Bn = () => {
  Q && Q.scope.off(), kt(null);
};
function qr(e) {
  return e.vnode.shapeFlag & 4;
}
let Wr = !1;
function ln(e) {
  return e.attrsProxy || (e.attrsProxy = new Proxy(
    e.attrs,
    process.env.NODE_ENV !== "production" ? {
      get(t, n) {
        return D(e, "get", "$attrs"), t[n];
      },
      set() {
        return y("setupContext.attrs is readonly."), !1;
      },
      deleteProperty() {
        return y("setupContext.attrs is readonly."), !1;
      }
    } : {
      get(t, n) {
        return D(e, "get", "$attrs"), t[n];
      }
    }
  ));
}
function Lr(e) {
  return e.slotsProxy || (e.slotsProxy = new Proxy(e.slots, {
    get(t, n) {
      return D(e, "get", "$slots"), t[n];
    }
  }));
}
function Jr(e) {
  const t = (n) => {
    if (process.env.NODE_ENV !== "production" && (e.exposed && y("expose() should be called only once per setup()."), n != null)) {
      let o = typeof n;
      o === "object" && (m(n) ? o = "array" : M(n) && (o = "ref")), o !== "object" && y(
        `expose() should be passed a plain object, received ${o}.`
      );
    }
    e.exposed = n || {};
  };
  return process.env.NODE_ENV !== "production" ? Object.freeze({
    get attrs() {
      return ln(e);
    },
    get slots() {
      return Lr(e);
    },
    get emit() {
      return (n, ...o) => e.emit(n, ...o);
    },
    expose: t
  }) : {
    get attrs() {
      return ln(e);
    },
    slots: e.slots,
    emit: e.emit,
    expose: t
  };
}
function Gr(e) {
  if (e.exposed)
    return e.exposeProxy || (e.exposeProxy = new Proxy(Qo(Lo(e.exposed)), {
      get(t, n) {
        if (n in t)
          return t[n];
        if (n in Ve)
          return Ve[n](e);
      },
      has(t, n) {
        return n in t || n in Ve;
      }
    }));
}
const Yr = /(?:^|[-_])(\w)/g, Qr = (e) => e.replace(Yr, (t) => t.toUpperCase()).replace(/[-_]/g, "");
function It(e, t = !0) {
  return R(e) ? e.displayName || e.name : e.name || t && e.__name;
}
function qn(e, t, n = !1) {
  let o = It(t);
  if (!o && t.__file) {
    const r = t.__file.match(/([^/\\]+)\.\w+$/);
    r && (o = r[1]);
  }
  if (!o && e && e.parent) {
    const r = (s) => {
      for (const l in s)
        if (s[l] === t)
          return l;
    };
    o = r(
      e.components || e.parent.type.components
    ) || r(e.appContext.components);
  }
  return o ? Qr(o) : n ? "App" : "Anonymous";
}
function Wn(e) {
  return R(e) && "__vccOpts" in e;
}
const Xr = (e, t) => Zo(e, t, Wr);
function st(e) {
  return !!(e && e.__v_isShallow);
}
function Zr() {
  if (process.env.NODE_ENV === "production" || typeof window > "u")
    return;
  const e = { style: "color:#3ba776" }, t = { style: "color:#0b1bc9" }, n = { style: "color:#b62e24" }, o = { style: "color:#9d288c" }, r = {
    header(c) {
      return T(c) ? c.__isVue ? ["div", e, "VueInstance"] : M(c) ? [
        "div",
        {},
        ["span", e, _(c)],
        "<",
        i(c.value),
        ">"
      ] : ue(c) ? [
        "div",
        {},
        ["span", e, st(c) ? "ShallowReactive" : "Reactive"],
        "<",
        i(c),
        `>${le(c) ? " (readonly)" : ""}`
      ] : le(c) ? [
        "div",
        {},
        ["span", e, st(c) ? "ShallowReadonly" : "Readonly"],
        "<",
        i(c),
        ">"
      ] : null : null;
    },
    hasBody(c) {
      return c && c.__isVue;
    },
    body(c) {
      if (c && c.__isVue)
        return [
          "div",
          {},
          ...s(c.$)
        ];
    }
  };
  function s(c) {
    const u = [];
    c.type.props && c.props && u.push(l("props", h(c.props))), c.setupState !== Y && u.push(l("setup", c.setupState)), c.data !== Y && u.push(l("data", h(c.data)));
    const v = f(c, "computed");
    v && u.push(l("computed", v));
    const O = f(c, "inject");
    return O && u.push(l("injected", O)), u.push([
      "div",
      {},
      [
        "span",
        {
          style: o.style + ";opacity:0.66"
        },
        "$ (internal): "
      ],
      ["object", { object: c }]
    ]), u;
  }
  function l(c, u) {
    return u = K({}, u), Object.keys(u).length ? [
      "div",
      { style: "line-height:1.25em;margin-bottom:0.6em" },
      [
        "div",
        {
          style: "color:#476582"
        },
        c
      ],
      [
        "div",
        {
          style: "padding-left:1.25em"
        },
        ...Object.keys(u).map((v) => [
          "div",
          {},
          ["span", o, v + ": "],
          i(u[v], !1)
        ])
      ]
    ] : ["span", {}];
  }
  function i(c, u = !0) {
    return typeof c == "number" ? ["span", t, c] : typeof c == "string" ? ["span", n, JSON.stringify(c)] : typeof c == "boolean" ? ["span", o, c] : T(c) ? ["object", { object: u ? h(c) : c }] : ["span", n, String(c)];
  }
  function f(c, u) {
    const v = c.type;
    if (R(v))
      return;
    const O = {};
    for (const A in c.ctx)
      p(v, A, u) && (O[A] = c.ctx[A]);
    return O;
  }
  function p(c, u, v) {
    const O = c[v];
    if (m(O) && O.includes(u) || T(O) && u in O || c.extends && p(c.extends, u, v) || c.mixins && c.mixins.some((A) => p(A, u, v)))
      return !0;
  }
  function _(c) {
    return st(c) ? "ShallowRef" : c.effect ? "ComputedRef" : "Ref";
  }
  window.devtoolsFormatters ? window.devtoolsFormatters.push(r) : window.devtoolsFormatters = [r];
}
function es() {
  Zr();
}
process.env.NODE_ENV !== "production" && es();
const ts = { class: "pro-table h-full" }, ns = {
  key: 1,
  class: "pro-table-form",
  style: { "margin-bottom": "24px" }
}, os = { class: "flex items-center" }, rs = {
  key: 2,
  style: { "margin-bottom": "24px" }
}, ss = { class: "pro-table-table" }, ls = {
  key: 0,
  style: { "margin-top": "26px", padding: "30px 23px", "box-sizing": "border-box" }
}, as = /* @__PURE__ */ wr({
  __name: "index",
  props: {
    request: {},
    options: {},
    page: { default: () => ({
      pageNum: 1,
      pageSize: 10,
      total: 0
    }) },
    selectData: { default: () => [] },
    empty: { default: "暂无数据" },
    fixedRows: {},
    hover: { type: Boolean, default: !0 },
    size: { default: "medium" },
    stripe: { type: Boolean, default: !1 },
    cellEmptyContent: { default: "-" },
    rowKey: { default: "id" },
    loadingProps: { default: () => ({}) },
    selectRow: { type: Boolean, default: !1 },
    loading: { type: Boolean, default: !0 },
    formAttrs: { default: () => ({}) },
    tableAttrs: { default: () => ({
      rowKey: "id"
    }) },
    pageAttrs: { default: () => ({}) },
    searchText: { default: "搜索" },
    cancelText: { default: "重置" },
    hideForm: { type: Boolean, default: !1 },
    hidePage: { type: Boolean, default: !1 },
    totalContent: { type: Boolean, default: !1 },
    showSearchNum: { default: 3 },
    moreSearchText: {}
  },
  emits: ["reset", "reload", "update:selectData", "select-change"],
  setup(e, { expose: t, emit: n }) {
    const o = e, r = q(), s = q(), l = q([]), i = q([]), f = q(), p = q(!1), _ = q(), c = q(!1), u = q({
      pageNum: 1,
      pageSize: 10,
      total: 0
    }), v = q(), O = q({});
    let A = {};
    o.options.forEach((d) => {
      A[d.key] = "";
    }), r.value = A, xr(() => {
      J(), o.page && (u.value = o.page), $(1, u.value.pageSize);
    });
    function J() {
      l.value = o.options.filter((d, x) => (d.tableOrder = d.tableOrder || x, !d.hideInTable)).sort((d, x) => d.tableOrder - x.tableOrder).map((d) => ({
        ...d,
        colKey: d.key
      })), o.selectRow && l.value.unshift({
        colKey: "row-select",
        type: "multiple"
      }), s.value = o.options.filter((d, x) => (d.searchOrder = d.searchOrder || x, !d.hideInSearch)).sort((d, x) => d.searchOrder - x.searchOrder), f.value = o.options.filter((d) => d.isSlot).map((d) => d.key);
    }
    Nr(() => o.options, () => {
      J();
    }, { deep: !0 });
    const X = Ir();
    function $(d, x) {
      o.loading && (c.value = !0), o.request({
        pageNum: u.value.pageNum,
        pageSize: x,
        form: r.value,
        sort: O.value
      }).then((Z) => {
        c.value = !1, i.value = Z.list, u.value = {
          total: Z.total,
          pageNum: d,
          pageSize: x
        };
      }).catch(() => {
        c.value = !1;
      });
    }
    function Tt(d) {
      if (!o.rowKey)
        throw new Error("rowKey is undefined");
      n("update:selectData", d), n("select-change", d);
    }
    function E() {
      $(u.value.pageNum, u.value.pageSize);
    }
    function Ze() {
      v.value.reset(), u.value.pageNum = 1, $(1, u.value.pageSize);
    }
    function et() {
      return _;
    }
    function Ln() {
      return r.value;
    }
    t({
      reset: E,
      reload: Ze,
      getTdTableRef: et,
      getSearchParam: Ln
    });
    function Jn() {
      o.loading && (c.value = !0), u.value.pageNum = 1, o.request({
        ...u.value,
        form: r.value,
        sort: O.value
      }).then((d) => {
        i.value = d.list, u.value.total = d.total, c.value = !1;
      }).catch(() => {
        c.value = !1;
      });
    }
    function Gn() {
      v.value.reset(), n("reset"), o.loading && (c.value = !0), o.request({
        ...u.value,
        form: r.value,
        sort: O.value
      }).then((d) => {
        i.value = d.list, u.value.total = d.total, c.value = !1;
      }).catch(() => {
        c.value = !1;
      });
    }
    function Yn(d, { col: x }) {
      const { key: Z } = x;
      let P = { ...O.value };
      d === void 0 && P[Z] ? delete P[Z] : d !== void 0 && (P[Z] = d.descending ? "desc" : "asc"), O.value = P, $(u.value.pageNum, u.value.pageSize);
    }
    function Qn(d) {
      u.value.pageNum = d.current || 1, u.value.pageSize = d.pageSize, $(u.value.pageNum, u.value.pageSize);
    }
    const Xn = Xr(() => o.selectData);
    return (d, x) => {
      const Z = U("ProFormInput"), P = U("t-col"), Dt = U("ProFormSelect"), At = U("ProFormDatepicker"), Mt = U("ProFormCheckbox"), Ft = U("ProFormRadio"), zt = U("ProFormSelectTree"), tt = U("t-icon"), nt = U("t-button"), Zn = U("t-row"), eo = U("t-form"), to = U("t-table"), no = U("t-loading"), oo = U("t-pagination");
      return g(), H("div", ts, [
        Ee(X)["form-header"] ? ae(d.$slots, "form-header", { key: 0 }) : S("", !0),
        !o.hideForm && s.value && s.value.length != 0 ? (g(), H("div", ns, [
          b(eo, k({
            ref_key: "formRef",
            ref: v
          }, o.formAttrs, {
            labelWidth: "auto",
            labelAlign: "left",
            data: r.value
          }), {
            default: w(() => [
              b(Zn, { gutter: [16, 18] }, {
                default: w(() => [
                  (g(!0), H(B, null, Xt(s.value, (a, ye) => (g(), H(B, { key: ye }, [
                    ye <= o.showSearchNum - 1 ? (g(), H(B, { key: 0 }, [
                      a.isFormSlot && !a.hideInSearch ? ae(d.$slots, `form-${a.key}`, { key: 0 }) : (g(), H(B, { key: 1 }, [
                        !a.type || a.type === "input" ? (g(), C(P, {
                          key: 0,
                          "h-full": "",
                          span: a.span || 3
                        }, {
                          default: w(() => [
                            b(Z, k(a.inputAttrs, {
                              placeholder: a.placeholder || `请输入${a.title}`,
                              type: "text",
                              name: a.key,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              label: a.title
                            }), null, 16, ["placeholder", "name", "modelValue", "onUpdate:modelValue", "label"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0),
                        a.type === "select" ? (g(), C(P, {
                          key: 1,
                          span: a.span || 3
                        }, {
                          default: w(() => [
                            b(Dt, k(a.selectAttrs, {
                              multiple: a.multiple,
                              keyName: a.keyName || "label",
                              valueName: a.valueName || "value",
                              api: a.request,
                              placeholder: a.placeholder || `请选择${a.title}`,
                              list: a.data || [],
                              name: a.key,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              label: a.title
                            }), null, 16, ["multiple", "keyName", "valueName", "api", "placeholder", "list", "name", "modelValue", "onUpdate:modelValue", "label"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0),
                        ["date", "dateRange"].includes(a.type) ? (g(), C(P, {
                          key: 2,
                          span: a.span || 3
                        }, {
                          default: w(() => [
                            b(At, k(a.datePickerAttrs, {
                              range: a.type == "dateRange",
                              list: a.data || [],
                              name: a.key,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              label: a.title
                            }), null, 16, ["range", "list", "name", "modelValue", "onUpdate:modelValue", "label"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0),
                        a.type === "checkbox" ? (g(), C(P, {
                          key: 3,
                          span: a.span || 24
                        }, {
                          default: w(() => [
                            b(Mt, k(a.checkBoxAttrs, {
                              api: a.request,
                              list: a.data || [],
                              name: a.key,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              label: a.title
                            }), null, 16, ["api", "list", "name", "modelValue", "onUpdate:modelValue", "label"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0),
                        a.type === "radio" ? (g(), C(P, {
                          key: 4,
                          span: a.span || 24
                        }, {
                          default: w(() => [
                            b(Ft, k(a.radioAttrs, {
                              api: a.request,
                              list: a.data || [],
                              name: a.key,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              label: a.title
                            }), null, 16, ["api", "list", "name", "modelValue", "onUpdate:modelValue", "label"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0),
                        a.type == "selectTree" ? (g(), C(P, {
                          key: 5,
                          span: a.span || 3
                        }, {
                          default: w(() => [
                            b(zt, k(a.selectTreeAttrs, {
                              keyName: a.keyName || "label",
                              valueName: a.valueName || "value",
                              list: a.data,
                              placeholder: a.placeholder || `请选择${a.title}`,
                              api: a.request,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              modelModifiers: { trim: !0 },
                              name: a.key,
                              label: a.title,
                              multiple: a.multiple
                            }), null, 16, ["keyName", "valueName", "list", "placeholder", "api", "modelValue", "onUpdate:modelValue", "name", "label", "multiple"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0)
                      ], 64))
                    ], 64)) : p.value ? (g(), H(B, { key: 1 }, [
                      a.isFormSlot && !a.hideInSearch ? ae(d.$slots, `form-${a.key}`, { key: 0 }) : (g(), H(B, { key: 1 }, [
                        !a.type || a.type === "input" ? (g(), C(P, {
                          key: 0,
                          span: a.span || 3
                        }, {
                          default: w(() => [
                            b(Z, k(a.inputAttrs, {
                              placeholder: a.placeholder || `请输入${a.title}`,
                              name: a.key,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              label: a.title
                            }), null, 16, ["placeholder", "name", "modelValue", "onUpdate:modelValue", "label"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0),
                        a.type === "select" ? (g(), C(P, {
                          key: 1,
                          span: a.span || 3
                        }, {
                          default: w(() => [
                            b(Dt, k(a.selectAttrs, {
                              multiple: a.multiple,
                              keyName: a.keyName || "label",
                              valueName: a.valueName || "value",
                              api: a.request,
                              placeholder: a.placeholder || `请选择${a.title}`,
                              list: a.data || [],
                              name: a.key,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              label: a.title
                            }), null, 16, ["multiple", "keyName", "valueName", "api", "placeholder", "list", "name", "modelValue", "onUpdate:modelValue", "label"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0),
                        ["date", "dateRange"].includes(a.type) ? (g(), C(P, {
                          key: 2,
                          span: a.span || 3
                        }, {
                          default: w(() => [
                            b(At, k(a.datePickerAttrs, {
                              range: a.type == "dateRange",
                              list: a.data || [],
                              name: a.key,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              label: a.title
                            }), null, 16, ["range", "list", "name", "modelValue", "onUpdate:modelValue", "label"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0),
                        a.type === "checkbox" ? (g(), C(P, {
                          key: 3,
                          span: a.span || 24
                        }, {
                          default: w(() => [
                            b(Mt, k(a.checkBoxAttrs, {
                              api: a.request,
                              list: a.data || [],
                              name: a.key,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              label: a.title
                            }), null, 16, ["api", "list", "name", "modelValue", "onUpdate:modelValue", "label"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0),
                        a.type === "radio" ? (g(), C(P, {
                          key: 4,
                          span: a.span || 24
                        }, {
                          default: w(() => [
                            b(Ft, k(a.radioAttrs, {
                              api: a.request,
                              list: a.data || [],
                              name: a.key,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              label: a.title
                            }), null, 16, ["api", "list", "name", "modelValue", "onUpdate:modelValue", "label"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0),
                        a.type == "selectTree" ? (g(), C(P, {
                          key: 5,
                          span: a.span || 3
                        }, {
                          default: w(() => [
                            b(zt, k(a.selectTreeAttrs, {
                              keyName: a.keyName || "label",
                              valueName: a.valueName || "value",
                              list: a.data,
                              placeholder: a.placeholder || `请选择${a.title}`,
                              api: a.request,
                              modelValue: r.value[a.key],
                              "onUpdate:modelValue": (N) => r.value[a.key] = N,
                              modelModifiers: { trim: !0 },
                              name: a.key,
                              label: a.title,
                              multiple: a.multiple
                            }), null, 16, ["keyName", "valueName", "list", "placeholder", "api", "modelValue", "onUpdate:modelValue", "name", "label", "multiple"])
                          ]),
                          _: 2
                        }, 1032, ["span"])) : S("", !0)
                      ], 64))
                    ], 64)) : S("", !0)
                  ], 64))), 128)),
                  b(P, {
                    span: o.searchSpan
                  }, {
                    default: w(() => [
                      ge("div", {
                        style: Qe(o.searchStyle),
                        class: "flex text-right"
                      }, [
                        b(nt, {
                          style: { "margin-right": "16px" },
                          onClick: Jn
                        }, {
                          default: w(() => [
                            o.searchIcon ? (g(), C(tt, {
                              key: 0,
                              name: o.searchIcon
                            }, null, 8, ["name"])) : S("", !0),
                            we(" " + ke(o.searchText || "搜索"), 1)
                          ]),
                          _: 1
                        }),
                        b(nt, {
                          theme: "default",
                          variant: "base",
                          type: "reset",
                          onClick: Gn
                        }, {
                          default: w(() => [
                            o.resetIcon ? (g(), C(tt, {
                              key: 0,
                              name: o.resetIcon
                            }, null, 8, ["name"])) : S("", !0),
                            we(" " + ke(o.cancelText || "重置"), 1)
                          ]),
                          _: 1
                        }),
                        s.value && s.value.length > o.showSearchNum ? (g(), C(nt, {
                          key: 0,
                          theme: "primary",
                          class: "ml-[16px]",
                          variant: "text",
                          onClick: x[0] || (x[0] = (a) => p.value = !p.value)
                        }, {
                          default: w(() => [
                            ge("div", os, [
                              o.moreSearchText ? (g(), H(B, { key: 1 }, [
                                we(ke(o.moreSearchText), 1)
                              ], 64)) : (g(), H(B, { key: 0 }, [
                                we(ke(p.value ? "收起" : "展开"), 1)
                              ], 64)),
                              b(tt, {
                                class: "ml-2",
                                name: p.value ? "chevron-up" : "chevron-down"
                              }, null, 8, ["name"])
                            ])
                          ]),
                          _: 1
                        })) : S("", !0)
                      ], 4)
                    ]),
                    _: 1
                  }, 8, ["span"])
                ]),
                _: 3
              })
            ]),
            _: 3
          }, 16, ["data"])
        ])) : S("", !0),
        Ee(X).setting ? (g(), H("div", rs, [
          ae(d.$slots, "setting")
        ])) : S("", !0),
        ge("div", ss, [
          ge("div", null, [
            Ee(X).card ? (g(), C(no, k({
              key: 1,
              size: o.loadingProps.size,
              loading: c.value
            }, o.loadingProps, {
              "show-overlay": o.loadingProps.showOverlay
            }), {
              default: w(() => [
                ae(d.$slots, "card", { list: i.value })
              ]),
              _: 3
            }, 16, ["size", "loading", "show-overlay"])) : (g(), C(to, k({
              key: 0,
              onSortChange: Yn,
              loading: c.value,
              ref_key: "tdTableRef",
              ref: _,
              bordered: o.bordered,
              empty: o.empty,
              cellEmptyContent: o.cellEmptyContent
            }, o.tableAttrs, {
              onSelectChange: Tt,
              "row-key": o.rowKey,
              data: i.value,
              columns: l.value,
              size: o.size,
              "selected-row-keys": Xn.value,
              stripe: o.stripe,
              hover: o.hover
            }), $r({ _: 2 }, [
              Xt(f.value, (a) => ({
                name: a,
                fn: w(({ row: ye, rowIndex: N }) => [
                  ae(d.$slots, `table-${a}`, {
                    key: ye[d.rowKey],
                    row: ye,
                    index: N
                  })
                ])
              })),
              Ee(X).expandedRow ? {
                name: "expandedRow",
                fn: w(({ row: a }) => [
                  ae(d.$slots, "expandedRow", { row: a })
                ]),
                key: "0"
              } : void 0
            ]), 1040, ["loading", "bordered", "empty", "cellEmptyContent", "row-key", "data", "columns", "size", "selected-row-keys", "stripe", "hover"]))
          ]),
          o.hidePage ? S("", !0) : (g(), H("div", ls, [
            b(oo, k(o.pageAttrs, {
              total: u.value.total,
              current: u.value.pageNum,
              "onUpdate:current": x[1] || (x[1] = (a) => u.value.pageNum = a),
              onChange: Qn,
              "page-size": u.value.pageSize,
              "onUpdate:pageSize": x[2] || (x[2] = (a) => u.value.pageSize = a),
              "show-first-and-last-page-btn": ""
            }), null, 16, ["total", "current", "page-size"])
          ]))
        ])
      ]);
    };
  }
});
const is = {
  install(e) {
    e.component("ProTable", as);
  }
};
export {
  is as default
};
